<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::scene::IColladaMeshWriterNames Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1scene_1_1_i_collada_mesh_writer_names.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">irr::scene::IColladaMeshWriterNames Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::scene::IColladaMeshWriterNames" --><!-- doxytag: inherits="irr::IReferenceCounted" -->
<p>Callback interface to use custom names on collada writing.  
 <a href="classirr_1_1scene_1_1_i_collada_mesh_writer_names.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_i_collada_mesh_writer_8h_source.html">IColladaMeshWriter.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for irr::scene::IColladaMeshWriterNames:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classirr_1_1scene_1_1_i_collada_mesh_writer_names.png" usemap="#irr::scene::IColladaMeshWriterNames_map" alt=""/>
  <map id="irr::scene::IColladaMeshWriterNames_map" name="irr::scene::IColladaMeshWriterNames_map">
<area href="classirr_1_1_i_reference_counted.html" title="Base class of most objects of the Irrlicht Engine." alt="irr::IReferenceCounted" shape="rect" coords="0,0,220,24"/>
</map>
 </div></div>

<p><a href="classirr_1_1scene_1_1_i_collada_mesh_writer_names-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li>virtual <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer_names.html#a44e5377cc7845d5a0f29923ee5ed1809">~IColladaMeshWriterNames</a> ()
<li>virtual <a class="el" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2">irr::core::stringw</a> <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer_names.html#acb5c8f38769d3fedcc76df73d9350c07">nameForMaterial</a> (const <a class="el" href="classirr_1_1video_1_1_s_material.html">video::SMaterial</a> &amp;material, int materialId, const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *mesh, const <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">scene::ISceneNode</a> *node)=0
<dl class="el"><dd class="mdescRight">Return a name for the material.  <a href="#acb5c8f38769d3fedcc76df73d9350c07"></a><br/></dl><li>virtual <a class="el" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2">irr::core::stringw</a> <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer_names.html#a2d36f1dee5904b3c622363282761ed0d">nameForMesh</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *mesh, int instance)=0
<dl class="el"><dd class="mdescRight">Return a unique name for the given mesh.  <a href="#a2d36f1dee5904b3c622363282761ed0d"></a><br/></dl><li>virtual <a class="el" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2">irr::core::stringw</a> <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer_names.html#a60d3fdad90edc25b0305c91be15b255f">nameForNode</a> (const <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">scene::ISceneNode</a> *node)=0
<dl class="el"><dd class="mdescRight">Return a unique name for the given node.  <a href="#a60d3fdad90edc25b0305c91be15b255f"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Callback interface to use custom names on collada writing. </p>
<p>You can either modify names and id's written to collada or you can use this interface to just find out which names are used on writing. </p>

<p>Definition at line <a class="el" href="_i_collada_mesh_writer_8h_source.html#l00158">158</a> of file <a class="el" href="_i_collada_mesh_writer_8h_source.html">IColladaMeshWriter.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a44e5377cc7845d5a0f29923ee5ed1809"></a><!-- doxytag: member="irr::scene::IColladaMeshWriterNames::~IColladaMeshWriterNames" ref="a44e5377cc7845d5a0f29923ee5ed1809" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual irr::scene::IColladaMeshWriterNames::~IColladaMeshWriterNames </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_i_collada_mesh_writer_8h_source.html#l00162">162</a> of file <a class="el" href="_i_collada_mesh_writer_8h_source.html">IColladaMeshWriter.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="acb5c8f38769d3fedcc76df73d9350c07"></a><!-- doxytag: member="irr::scene::IColladaMeshWriterNames::nameForMaterial" ref="acb5c8f38769d3fedcc76df73d9350c07" args="(const video::SMaterial &amp;material, int materialId, const scene::IMesh *mesh, const scene::ISceneNode *node)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2">irr::core::stringw</a> irr::scene::IColladaMeshWriterNames::nameForMaterial </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_material.html">video::SMaterial</a> &amp;&#160;</td>
          <td class="paramname"><em>material</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>materialId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *&#160;</td>
          <td class="paramname"><em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">scene::ISceneNode</a> *&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a name for the material. </p>
<p>There is one material created in the writer for each unique name. So you can use this to control the number of materials which get written. For example Irrlicht does by default write one material for each material instanced by a node. So if you know that in your application material instances per node are identical between different nodes you can reduce the number of exported materials using that knowledge by using identical names for such shared materials. Names must follow the xs::NCName standard to be valid, you can run them through <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer.html#ac9c48beab095aa6f4cb4f696bb2ecd45" title="Restrict the characters of oldString a set of allowed characters in xs::NCName and add the prefix...">IColladaMeshWriter::toNCName</a> to ensure that. </p>

</div>
</div>
<a class="anchor" id="a2d36f1dee5904b3c622363282761ed0d"></a><!-- doxytag: member="irr::scene::IColladaMeshWriterNames::nameForMesh" ref="a2d36f1dee5904b3c622363282761ed0d" args="(const scene::IMesh *mesh, int instance)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2">irr::core::stringw</a> irr::scene::IColladaMeshWriterNames::nameForMesh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *&#160;</td>
          <td class="paramname"><em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>instance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a unique name for the given mesh. </p>
<p>Note that names really must be unique here per mesh-pointer, so mostly it's a good idea to return the nameForMesh from <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer.html#a1d15f938a5b05a040724f7666694cd56" title="Return the original default name generator of the writer.">IColladaMeshWriter::getDefaultNameGenerator()</a>. Also names must follow the xs::NCName standard to be valid, you can run them through <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer.html#ac9c48beab095aa6f4cb4f696bb2ecd45" title="Restrict the characters of oldString a set of allowed characters in xs::NCName and add the prefix...">IColladaMeshWriter::toNCName</a> to ensure that. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mesh</td><td>Pointer to the mesh which needs a name </td></tr>
    <tr><td class="paramname">instance</td><td>When E_COLLADA_GEOMETRY_WRITING is not ECGI_PER_MESH then several instances of the same mesh can be written and this counts them. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a60d3fdad90edc25b0305c91be15b255f"></a><!-- doxytag: member="irr::scene::IColladaMeshWriterNames::nameForNode" ref="a60d3fdad90edc25b0305c91be15b255f" args="(const scene::ISceneNode *node)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2">irr::core::stringw</a> irr::scene::IColladaMeshWriterNames::nameForNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">scene::ISceneNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a unique name for the given node. </p>
<p>Note that names really must be unique here per node-pointer, so mostly it's a good idea to return the nameForNode from <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer.html#a1d15f938a5b05a040724f7666694cd56" title="Return the original default name generator of the writer.">IColladaMeshWriter::getDefaultNameGenerator()</a>. Also names must follow the xs::NCName standard to be valid, you can run them through <a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer.html#ac9c48beab095aa6f4cb4f696bb2ecd45" title="Restrict the characters of oldString a set of allowed characters in xs::NCName and add the prefix...">IColladaMeshWriter::toNCName</a> to ensure that. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_i_collada_mesh_writer_8h_source.html">IColladaMeshWriter.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1scene.html">scene</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1scene_1_1_i_collada_mesh_writer_names.html">IColladaMeshWriterNames</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sat Jul 9 2016 18:18:37 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
